The background description provided herein is for the purpose of generally presenting the context of the disclosure. Work of the presently named inventors, to the extent it is described in this background section, as well as aspects of the description that may not otherwise qualify as prior art at the time of filing, are neither expressly nor impliedly admitted as prior art against the present disclosure.
Today, professional as well as non-professional users in a variety of different fields, such as engineering, architecture, automotive design, graphic design, advertising, fashion design, medicine, etc., can develop three-dimensional (3D) models of buildings, vehicles, and other objects using 3D modeling software that operates on a computing device. A user typically interacts with 3D modeling software via input devices such as a keyboard, mouse, trackball, and/or stylus, and the drafting document is displayed on a graphical display device, such as a computer monitor or screen.
Partially as a result of the many ways in which 3D modeling software is used by different people, it is often difficult for a software manufacturer to incorporate features that satisfy the specific needs of every individual user or every group of users. One way of mitigating these unmet needs is for the manufacturer to expose at least some of the functionality and data structures of the software to an Application Programming Interface (API) function. An API defines the rules and specifications for a software program so that other programs can be designed to use the various resources of that program. In other words, the API operates as an interface between programs. Using the API, users may add functionality to the 3D modeling software according to their specific needs to augment controls, drawing functions, application “skins,” and other aspects of the 3D modeling software.